/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gestiondeviajes;

import java.util.ArrayList;
import java.util.Calendar;

/**
 *
 * @author Luciano HP
 */
public class GestionDeViajes {
    
    private ArrayList<Embarcacion> embarcaciones;
    private ArrayList<Empleado> empleados;
    private ArrayList<ServicioEspecial> servicioEspecial;
    private ArrayList<ServicioComun> servicioComun; 
    private ArrayList<VentaViaje> ventas;
    private ArrayList<Pasajero> pasajeros;
    private ArrayList<Reserva> reservas;
    private ArrayList<Conductor> conductores;
    private Calendar fechaHoy;
    
    
    public GestionDeViajes(){
    
    }
    
    public GestionDeViajes(ArrayList conductores, ArrayList<Embarcacion>embarcaciones, ArrayList<Empleado>empleados, ArrayList<ServicioEspecial>servicioEspecial,ArrayList<ServicioComun>servicioComun,ArrayList<VentaViaje> ventas,ArrayList<Pasajero> pasajeros,ArrayList reservas, Calendar fechaHoy){
       
        this.conductores=conductores;
        this.embarcaciones=embarcaciones;
        this.empleados=empleados;
        this.fechaHoy=fechaHoy;
        this.pasajeros=pasajeros;
        this.reservas=reservas;
        this.servicioComun=servicioComun;
        this.servicioEspecial=servicioEspecial;
        this.ventas=ventas;
       
     }

    public Calendar getFechaHoy() {
        return fechaHoy;
    }

    public void setFechaHoy(Calendar fechaHoy) {
        this.fechaHoy = fechaHoy;
    }
    

    public ArrayList<Conductor> getConductores() {
        return conductores;
    }

    public void setConductores(ArrayList<Conductor> conductores) {
        this.conductores = conductores;
    }

    public ArrayList<Embarcacion> getEmbarcaciones() {
        return embarcaciones;
    }

    public void setEmbarcaciones(ArrayList<Embarcacion> embarcaciones) {
        this.embarcaciones = embarcaciones;
    }

    public ArrayList<Empleado> getEmpleados() {
        return empleados;
    }

    public void setEmpleados(ArrayList<Empleado> empleados) {
        this.empleados = empleados;
    }

    public ArrayList<Pasajero> getPasajeros() {
        return pasajeros;
    }

    public void setPasajeros(ArrayList<Pasajero> pasajeros) {
        this.pasajeros = pasajeros;
    }

    public ArrayList<Reserva> getReservas() {
        return reservas;
    }

    public void setReservas(ArrayList<Reserva> reservas) {
        this.reservas = reservas;
    }

    public ArrayList<ServicioComun> getServicioComun() {
        return servicioComun;
    }

    public void setServicioComun(ArrayList<ServicioComun> servicioComun) {
        this.servicioComun = servicioComun;
    }

    public ArrayList<ServicioEspecial> getServicioEspecial() {
        return servicioEspecial;
    }

    public void setServicioEspecial(ArrayList<ServicioEspecial> servicioEspecial) {
        this.servicioEspecial = servicioEspecial;
    }

    public ArrayList<VentaViaje> getVentas() {
        return ventas;
    }

    public void setVentas(ArrayList<VentaViaje> ventas) {
        this.ventas = ventas;
    }
    
    
    public String obtenerEmpleadosBarco() {
       String empleado=""; 
        
      return empleado;  
    }
    
  

/****************************************METODOS DE VENTA**********************/
    public String buscarConductor() {
//        Empleado conductor= controladoraPer.buscarConductor;
         //como busco el nombre del conductor?
        String nombre=""; //solo par probar
        return nombre;
    }

     public int cantidadPasajeros() {
        int pas=0;//solo para prueba
        
        return pas;
    }

    public void registrarPasajero(String dni, String nombre, String ape, String edad, String tel, String dir) {
        throw new UnsupportedOperationException("Not yet implemented");
    }
    
    
    
                                /*********/
/******************************EMBARCACION********************************************/
                               /*********/
    
     public boolean disponibilidadEmbarcacion(String barco, String fechaReserva, String hora) {
         boolean disponible=true;
        // debe determinar si el barco en cuestion esta disponible esa fecha
         // a esa hora de lo contrario retornara falso.
        return disponible;
    }
       
   
    public Embarcacion obtenerBarcoActual(int dia, int mes, int año, String hora) {
        Embarcacion unBarco=null;//solo para probar
        
        return unBarco;
    }
                                /*********/
/********************************RESERVA***********************************/
                               /*********/
    
    public void registrarReserva(ArrayList<Pasajero> pasajeros, Conductor conductor, ArrayList<Empleado> empleado, String emb, int entre, double pre, String fechaReserva, String fechaTransaccion) {
        throw new UnsupportedOperationException("Not yet implemented");
    }
    
    public ArrayList asignarEmpleadosReserva(String fechaReserva) {
        ArrayList<Empleado> empleado=null;
        //debo buscar empleados y con esta fecha asignarlos a la reserva
        return empleado;
    }
      
          
     public String diaActual() {
        String dia = Integer.toString(fechaHoy.get(Calendar.DAY_OF_MONTH));
        System.out.println("el dia es "+dia);
        return (dia);
        //mes = Integer.toString(c.get(Calendar.));
        //annio = Integer.toString(c.get(Calendar.YEAR));       
    }

    public String mesActual() {
        String mes = Integer.toString(fechaHoy.get(Calendar.MONTH));
        return mes;
    }

    public String anioActual() {
        String anio = Integer.toString(fechaHoy.get(Calendar.YEAR));
        return (anio);
    }
    
    public String horaActual() {
        String hora = Integer.toString(fechaHoy.get(Calendar.HOUR));
        return (hora);
    }
    
      
     public Conductor asignarConductorReserva(String reserva, Conductor cond) {
        
        // ya q este conductor ya existe y lo debo asociar a la reserva
        
        //recibe el conductor q de la embarcacion de dicha reserva
         // necesitaria id de la reserva para asociarlas
         return cond;
    }
    
    
     public boolean conductorReserva() {
        boolean cond=true;
        
        return cond;
    }
    
                                /*********/
/********************************PASAJEROS********************************************/
                               /*********/
    
     public void registrarPasajeros(String dni, String nombre, String ape, String edad, String tel, String dir) {
        throw new UnsupportedOperationException("Not yet implemented");
    }

     
    public ArrayList<Pasajero> listaDePasajerosEspecial(String hora, String fechaReserva) {
          ArrayList<Pasajero> lista=null;
        //debe buscar los pasajeros registrados para ese viaje en particular
        // no se si esta bien pero le pase la hora y fecha de reserva
        //para que busque los pasajeros de determinado viaje
        return lista;
    }


    

   

   

   

   

    
    
  
      
}
